
R version 2.9.2 (2009-08-24)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> kamatlab<<-0.08# a kamatlb
> volatilitas=0.23
> dt=1/360
> t_t=0.5#lejratig htralv id
> n=trunc(t_t/dt) # a trunc() fgv a kerekt fggvny
> x<-700#ktsi rfolyam
> f<-c()
> fq=c()
> epszilon<-c()
> MonteCarlo<-function(elemszam){ 
+ for (i in 1:elemszam){
+ epszilon<-rnorm(n,0,1)  # n elem standard normlis eloszls generls
+ 
+ j=1
+ s<-661  # a rszvnyrfolyam
+ q=s*0.001
+ sq=s+q# a mdostott rsznyrfolyam, amely a delta becslshez szksges
+ uj<-(kamatlab-0.5*volatilitas^2)*dt+volatilitas*sqrt(dt)*epszilon
+ #a hozam generlsa
+ s<-s*prod(exp(uj))# a rszvnyrfolyam generlsa lejrati idben (emlkeztetl: a prod()fgv a paramterknt megadott objektum elemeinek a szorzatt adja vissza)
+ sq=sq*prod(exp(uj)) # mdostott rszvnyrfolyam generls lejratkor
+ 
+ f[i]<-max(0,x-s)# kiszmoljuk a kifizetseket
+ fq[i]<-max(0,x-sq)# kiszmoljuk a kifizetseket
+ }
+ atlag<-mean(f) # tlagoljuk a kapott mintt(ami itt a kifizetsfggvny lesz)
+ qatlag=mean(fq)# a kapott mintt(ami itt a kifizetsfggvny lesz)
+ hiba<<-sd(f)* exp(-kamatlab*t_t)/sqrt(elemszam)# a becsls standard hibja
+ 
+ opciosdij=(exp(-kamatlab*t_t)*atlag)# diszkonttnyez
+ qopciosdij=(exp(-kamatlab*t_t)*qatlag)# diszkonttnyez
+ delta<<-(qopciosdij-opciosdij)/q# a delta parmter becslse
+ opciosdij} # a fggvny visszaadja az opcis djat
> 
> library(fOptions) #betlti az fOption csomagot.
Loading required package: timeDate
Loading required package: timeSeries
Loading required package: fBasics
Loading required package: MASS
Rmetrics Package fOptions (2100.76) loaded.
> 
> print('A formulval kapott r:')
[1] "A formulval kapott r:"
> 
> GBSOption(TypeFlag = "p", S = 661, X = 700, Time = 1/2, r = 0.08, b = 0.08, sigma = volatilitas) @price
[1] 49.23474
> 
> print('A szimulci: ')
[1] "A szimulci: "
> MonteCarlo(1000)
[1] 50.96495
> delta
[1] -0.5245775
> MonteCarlo(5000)
[1] 49.01508
> delta
[1] -0.5047357
> MonteCarlo(20000)
[1] 49.11401
> delta
[1] -0.5093644
> print('A becsls hibja:')
[1] "A becsls hibja:"
> hiba
[1] 0.4321952
> MonteCarlo(100000)
[1] 49.30955
> delta
[1] -0.5065091
> 
> 
> 
print('A tnyleges delta:')
.GBSDelta("p",S=661,X=700,r=0.08,b=0.08,sigma=0.23,Time=0.5)
[1] -0.5100599

